# -*- coding: utf-8 -*-
# @Time    : 2018/5/28 下午11:03
# @Author  : Lavn
# @Email   : 959875529@qq.com
# @File    : modules.py
# @Software: PyCharm

#一个模块只会被导入一次，不管你执行了多少次 import。这样可以防止导入模块被一遍又一遍地执行。

# 当我们使用 import 语句的时候，Python 解释器是怎样找到对应的文件的呢？
# 这就涉及到 Python 的搜索路径，搜索路径是由一系列目录名组成的，Python 解释器就依次从这些目录中去寻找所引入的模块。这看起来很像环境变量，
# 事实上，也可以通过定义环境变量的方式来确定搜索路径。搜索路径是在 Python 编译或安装的时候确定的，安装新的库应该也会修改。
# 搜索路径被存储在sys 模块中的 path 变量 。
import sys
print(sys.path)
print('\n')

#2、from···import
#倒入模块重的方法和属性

from sys import version
print(version)
print('\n')

# form'''' import*  倒入所有方法属性
from sys import*
print(version)
print(executable)
print('\n')


#主模块和非主模块的定义
# 在 Python 函数中，如果一个函数调用了其他函数完成一项功能，我们称这个函数为主函数，如果一个函数没有调用其他函数，我们称这种函数为非主函数。
# 主模块和非主模块的定义也类似，如果一个模块被直接使用，而没有被别人调用，我们称这个模块为主模块，如果一个模块被别人调用，我们称这个模块为非主模块。
#见lname.py 和 user_name.py

#包 为了防止不同人写 相同的模块名
#创建一个python package  在这个文件下会 自动生成一个 __init__.py
#本demo 倒入lname 则为 import packageTest.lname


#作用域 如一般abc nil2等来当作公开 也就是public
#__xxx__   特殊变量 比如判断是否是主模版的 __name__
#_xxx 来实现私有 如_abc
from packageTest.vip import *

vip_lv_name(2)
#调用报错
# _gold_vip()



